#include "common.hpp"

struct my_msgbuf
{
    long mtype;
    char mtext[2];
};


int main()
{
    // 基于消息队列的进程间通信
    int key = ftok(PATH_NAME, PRO_ID);
    int msg_id = msgget(key, SERVER);

    my_msgbuf data;
    //msgrcv(msg_id,&data,2,1,0);
    msgrcv(msg_id,&data,1,1,0);
    data.mtext[1] = '\0';
    std::cout << "接收到信息 : " << data.mtext << std::endl;
    sleep(6);

    msgctl(msg_id,IPC_RMID,nullptr);

    // 基于共享内存的进程间通信
    //  NamedPipe np;
    //  np.Create();
    //  Shm shm(CREATOR,PATH_NAME,PRO_ID);
    //  char* ptr = (char*)shm.Ptr();

    // while(true)
    // {
    //     if(np.Wait())
    //     {
    //         printf("%s\n",ptr);
    //         sleep(1);
    //     }
    // }

    return 0;
}